/**
   CS 305 & 503, Data Structures and Algorithms
   Programming Assignment 1, Fall 2010

   Create an ADT by example.  Given a sequence of actions on a linked-sequence
   ADT, return an instance of the strictest ADT capable of matching the
   behavior described by the action sequence.

   E is the type of the values stored in the linked-sequence ADT.
 */


public interface
LinkedSequenceByExample<E> {

  /**
     Create and return a suitable linked-sequence ADT.

     @param actions A sequence of linked-sequence actions.

     @param An instance of a linked-sequence ADT that reproduces the behavior
     given by actions[0], actions[1], ... actions[actions.length - 1].  If more
     than one linked-sequence ADT reproduces the behavior, return an instance
     of the most strict ADT.  The ADT instance returned should be empty.
   */

  public LinkedSequence<E> 
  generateLinkedSequence(LinkedSequenceAction<E> actions[]);
  }


// $Log: LinkedSequenceByExample.java,v $
// Revision 1.1  2010/09/29 13:01:48  rclayton
// Initial revision
//
